From 5cb8b8945544ceeb48bef313c907653d1a80d5c1 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Tue, 31 Oct 2006 22:25:40 -0700 Subject: [PATCH] [IA64] physical mode fix 1. use WB attribute to emulate UC guest physical page. 2. corretly handle GUEST_PHY_EMUL Signed-off-by: Anthony Xu --- xen/arch/ia64/vmx/vmx_phy_mode.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/xen/arch/ia64/vmx/vmx_phy_mode.c b/xen/arch/ia64/vmx/vmx_phy_mode.c index 17614e816c..f2ad493c0c 100644 --- a/xen/arch/ia64/vmx/vmx_phy_mode.c +++ b/xen/arch/ia64/vmx/vmx_phy_mode.c @@ -113,10 +113,7 @@ physical_tlb_miss(VCPU *vcpu, u64 vadr, int type) ia64_rr rr; rr.rrval = ia64_get_rr(vadr); pte = vadr& _PAGE_PPN_MASK; - if (vadr >> 63) - pte = pte | PHY_PAGE_UC; - else - pte = pte | PHY_PAGE_WB; + pte = pte | PHY_PAGE_WB; thash_vhpt_insert(vcpu, pte, (rr.ps << 2), vadr, type); return; } @@ -347,10 +344,9 @@ prepare_if_physical_mode(VCPU *vcpu) void recover_if_physical_mode(VCPU *vcpu) { - if (is_physical_mode(vcpu)) { - vcpu->arch.mode_flags &= ~GUEST_PHY_EMUL; + if (is_physical_mode(vcpu)) switch_to_physical_rid(vcpu); - } + vcpu->arch.mode_flags &= ~GUEST_PHY_EMUL; return; } -- 2.30.2